perm filename LINES.F4[P11,LCS]1 blob sn#579531 filedate 1981-04-14 generic text, type T, neo UTF8
	SUBROUTINE LINES(A,B,L)
	COMMON/DST/BB,CC /SIZ/RSZ,JCEN,KCEN
	COMMON/DL/IXRX,SAVER,AA /PLTR/IPLT,RHT,DIS
	COMMON R2,JA,CENTR,JB,RJQ(20),JQ(20)
	COMMON /DPY/JJ(4000),MEDIT,IGO  /DPTR/WDS(350)
	EQUIVALENCE (JJ2,JJ(2))
	DATA BB/.008/,CC/3.5/

C LINED:	0	;WE GET HERE FROM FILLMS -- NEEDED FOR DISTORTION SYSTEM
	GO TO 23
22	IF(JQ(1).NE.0)GO TO 23
C USE P11 > 0 FOR DISTORTION.
C P11 IS BB (DIST)  P12 IS CC(DST+1)
C DST=.005  DST+1=2.2 (IN FILMSS.FAI) (.0044, 3.5 IN 'ADVICE')
	IF(CC.EQ.1000)GO TO 23
	B=B*(CC-BB*ABS(A))
C BB IS DST, CC IS DST+1
23	IF(JJ2.GT.3990)RETURN
C  AVOID OVERLOADING DPY BUFFER(4000)
	M=A*RSZ
	N=B*RSZ
	IF(RSZ.LE.0.8571)GO TO 3
C; SO WE CAN ZOOM UP,DOWN,LEFT,RIGHT AND ANY SIZE 	MOVE T,[=0.8571]

	M=M-JCEN
	N=N-KCEN
3	CALL CLIP(M,N,L)
	END
	  SUBROUTINE EDIT(JJA)
	      COMMON/ALF/INP(72),ML /UPDWN/ RL,UD
	      COMMON /SC/JL,LJ,MK
     1 ,ISKP,XMINUS,N,REXP,LK,NNUM,JM,JN,DBST,NFLG,IXX,ISEMI,QQ
     1 ,RVX(50),IAMP,A,RRN,B,MODE,IBLA
	      COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20)
	      COMMON/RRJJ/RJJ2,RJJ(20)
      EQUIVALENCE (RVX1,RVX(1)),(RVX2,RVX(2)),(RVX4,RVX(4))
     1,(RVX3,RVX(3)),(RJ6,RJJ(4)),(RJ9,RJJ(7)),(R3,RJQ(1)),(RJ8,RJJ(6))
     1,(RJ5,RJJ(3)),(RJ10,RJJ(8)),(INP2,INP(2)),(INP20,INP(20))
	      JN=-1
C  THIS IS FLAG IN SCANR
	INP20=ISEMI
C  SETS LIMIT IN SCANR
	      ML=1
	      RVX2=0
	      RVX4=0
C E=EDIT(55), C=COPY(2222), X=EXIT(222), DE=DEL(99), LP=LTPN
	CALL SCANR
	      JN=0
	      R2=RVX2
	      IF(RVX1.GT.10.)GO TO 7
	      JA=0
	      IF(RVX2.NE.0)GO TO 8
	      IF(INP2.EQ.'P')GO TO 5
	      RVX2=RL
	      IF(RVX1.GT.2)RVX2=UD
C  STORES RT-LFT OR UP-DOWN INFO
      GO TO 8
C   FOR LIGHT PEN MOVING
7     JA=RVX1
	IF(JA.EQ.99)R2=0
	      IF(R2.NE.0)RETURN
      IF(JA.NE.55)RETURN
5     CALL LPEN(R3,R2,K)
C  ↑↑↑ K NOT USED!
	      IF(JA.EQ.0)CALL EXCH(R2,R3)
	      RVX1=2.
      RVX2=R3-RJJ(1)
	      RVX3=3.
      RJQ(2)=0
	      RJJ2=R2
C  SO JD WILL BE 0 IN MAIN PROG.
C  FOR EDIT MODE
8     IF(JA.EQ.55)RETURN
      IF(INP2.EQ.'P')GO TO 17
      IF(RVX1.GT.2)GO TO 117
      RL=RVX2
      IF(RVX4.NE.0)UD=RVX4
	      GO TO 17
117   IF(RVX4.NE.0)RL=RVX4
	      UD=RVX2
17    R2=.00001
	      JA=0
	      K=RVX1
857   IF(K.LE.0)GO TO 1
      IF(K.GE.5)GO TO 2
C  -- CATCHES SOME ERRORS.
	GO TO (1,2,3,4),K
4      RVX2=-RVX2
C SKIP IF NOT CODE 4
3	IF(JJA.NE.4)GO TO 31
	IF(RJ6.NE.0)GO TO 31
C IGNORE BAR LINES -- IF(R5.EQ.0.AND.R6.EQ.0)GO TO 856
	IF(RJ5.EQ.0)GO TO 856
31      CALL MVBEAM(RJJ,0,2,2,RVX2)
C  MOVES UP AND DOWN.  HANDLES MINIS, ETC.
       IF(JJA.LT.4)GO TO 856
       IF(JJA.GT.6)GO TO 856
C I THINK R2 MUST BE NON-ZERO TO WORK IN EDIT MODE?
12    IF(RJ5.EQ.50.OR.RJ5.EQ.150)GO TO 856
C   50,150=CRESC.-DECRESC.
      RJ5=RJ5+RVX2
C  MOVES 5TH PARAM UP OR DOWN
      GO TO 856
1     RVX2=-RVX2
2     R2=RVX2
856   IF(RVX4.EQ.0)GO TO 858
      K=RVX3
      RVX2=RVX4
      RVX4=0
      GO TO 857
858   IF(R2.EQ..00001)GO TO 7515
      IF(JJA.LT.5)GO TO 477
      IF(JJA.LE.8)GO TO 5515
477   IF(JJA.NE.4)GO TO 7515
	IF(RJ6.EQ.0.AND.RJ5.EQ.0)GO TO 7515
C RARE CASES MIGHT BE FOUND! USING P7≠0
C  ABOVE FOR P1=6 (BEAMS, SLURS, LINES)
5515   IF(RJ6.NE.0)RJ6=RJ6+R2
      IF(JJA.NE.6)GO TO 7515
      IF(RJ9.EQ.0)GO TO 7515
	IF(RJ7.GT.0)GO TO 88
CCC   IF(RJ10.NE.0)GO TO EDX1
	IF(RJ9.GT.0)GO TO 7514
88	IF(RJ8.EQ.0)GO TO 7515
	IF(RJ8.GE.0)RJ8=RJ8+R2
7514	IF(RJ9.GE.0)RJ9=RJ9+R2
C  RJ9(P9) IS LOC. OF INNER NOTE IN BEAM RANGE. SKIPS NUMBERS IN P9.
7515  RJJ(1)=R2+RJJ(1)
	END